﻿#region Copyright
/**
 * Copyright (c) 2010 EPiServer AB
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
 * and associated documentation files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 
 * subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all copies or substantial 
 * portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
 **/
#endregion

using System;
using System.IO;
using System.Web;
using System.Web.UI;
using EPiServer;
using EPiServer.UI;

namespace EPiXternal.RelatePlus.SpecializedProperties
{
    public class RelateEntityBrowserBase : SystemPageBase
    {
        #region Method overrides
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);
            MasterPageFile = Path.Combine(EPiServer.Configuration.Settings.Instance.UIUrl.ToString(), "MasterPages/EPiServerUI.master");
        }

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            Page.ClientScript.RegisterClientScriptInclude(GetType(), "relatePlusEntityBrowser",
                UriSupport.ResolveUrlBySettings("~/EPiXternal/RelatePlus/Scripts/relatePlusEntityBrowser.js"));

            
        }
        #endregion

        #region Property
        protected string EntityValue
        {
            get
            {
                return Request.QueryString["value"];
            }
        }

        protected string EntityDisplayValue
        {
            get
            {
                return HttpUtility.UrlDecode(Request.QueryString["displayValue"]);
            }
        }
        #endregion

        #region Helpers
        protected string GetCheckedImage(bool isActive)
        {
            if (isActive)
            {
                return String.Format("<img src=\"{0}\" alt=\"Checked\"/>", base.GetImageThemeUrl("Tools/Check.gif"));
            }

            return String.Empty;
        }
        #endregion
    }
}